// 导入 storage 进行存储vuex的信息
import { getInfo, setInfo } from '@/utils/storage'

export default {
  namespaced: true,
  // 提供数据的
  state () {
    return {
      // 个人权证相关  往storage取信息
      userInfo: getInfo()

    }
  },
  // 提供修改数据的方法的
  mutations: {
    setUserInfo (state, obj) {
      state.userInfo = obj
      // 往storage里面存储vuex的token和id信息
      setInfo(obj)
    }
  },
  // 提供一些异步操作的
  actions: {
    logout (context) {
      // 退出登录时 个人信息重置为空
      context.commit('setUserInfo', {})

      // 购物车信息也要重置 (跨模块调用 cart中的mutations) cart/setCartList
      context.commit('cart/setCartList', [], { root: true })
    }
  },
  // 提供一些基于state所派生出来的属性的
  getters: {}
}
